<?php

class Kd_Util_Array {

    public static function removeEmpty(array &$arr){
        foreach($arr as $key=>$item){
            if(empty($item)){
                unset($arr[$key]);
            }
        }
    }

    public static function compareArray(array $arr1, array $arr2){
        if(count($arr1) != count($arr2)){
            return FALSE;
        }
        
        foreach($arr1 as $k=>$v1){
            if(!array_key_exists($k, $arr2)){
                return FALSE;
            }
            $v2 = $arr2[$k];
            if(is_array($v1) && is_array($v2)){
                if(!self::compareArray($v1, $v2)){
                    return FALSE;
                }
            }

            if($v1 !== $v2){
                return FALSE;
            }
        }

        return TRUE;
    }
    
    public static function pack($value){
    	if(is_array($value)){
    		return $value;
    	}
//    	if($value instanceof ArrayAccess){
//    		return $value;
//    	}
    	return array($value);
    }
}